package com.wcj.string;

/**
 * 编写一个函数来查找字符串数组中的最长公共前缀。
 *
 * 如果不存在公共前缀，返回空字符串 ""。
 */
public class 最长公共前缀 {

    public static void main(String[] args) {
        String[] strs = new String[]{"flower","flow","flight"};
        最长公共前缀 one = new 最长公共前缀();
        one.longestCommonPrefix(strs);
    }


    public String longestCommonPrefix(String[] strs) {
        String prefix = strs[0];
        for (int i = 1; i < strs.length; i++){
            prefix = comparePrefix(prefix, strs[i]);
        }
        return prefix;
    }

    private String comparePrefix(String prefix, String str) {
        int len = Math.min(prefix.length(),str.length());
        int j = 0;
        for (; j < len; j++){
            if (prefix.charAt(j) != str.charAt(j)){
                break;
            }
        }
        return prefix.substring(0,j);
    }
}
